#pragma once

#include "glare.core.Prerequisites.h"

namespace Glare {

	class GpuResourceFactory
	{
	public : virtual GpuBuffer* CreateBuffer(const GpuBufferDescription& description) = 0;
	public : virtual Texture* CreateTexture(const TextureDescription& description) = 0;

	public : virtual ShaderResourceView* CreateShaderResourceView(GpuResource* resource, const ShaderResourceViewDescription& description) = 0;

	public : virtual Driver* GetDriver() const = 0;
	};
}
